package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 储值卡规则对象 stored_value_card_rule
 *
 * @author ruoyi
 * @date 2025-05-22
 */
public class StoredValueCardRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键ID，唯一标识每条储值卡规则记录 */
    private Long id;

    /** 门店名称（如“北京朝阳店”“上海浦东店”） */
    @Excel(name = "门店名称", readConverterExp = "如=“北京朝阳店”“上海浦东店”")
    private String storeName;

    /** 门店编号（唯一标识，如BJ-CY-001、SH-PD-002） */
    @Excel(name = "门店编号", readConverterExp = "唯=一标识，如BJ-CY-001、SH-PD-002")
    private String storeCode;

    /** 在用储值卡（JSON格式，记录当前门店生效的储值卡类型及其规则） */
    @Excel(name = "在用储值卡", readConverterExp = "J=SON格式，记录当前门店生效的储值卡类型及其规则")
    private String activeStoredValueCard;

    /** 逻辑删除标记（1=已删除，0=未删除，用于软删除） */
    @Excel(name = "逻辑删除标记", readConverterExp = "1==已删除，0=未删除，用于软删除")
    private Integer isDeleted;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setStoreName(String storeName)
    {
        this.storeName = storeName;
    }

    public String getStoreName()
    {
        return storeName;
    }

    public void setStoreCode(String storeCode)
    {
        this.storeCode = storeCode;
    }

    public String getStoreCode()
    {
        return storeCode;
    }

    public void setActiveStoredValueCard(String activeStoredValueCard)
    {
        this.activeStoredValueCard = activeStoredValueCard;
    }

    public String getActiveStoredValueCard()
    {
        return activeStoredValueCard;
    }

    public void setIsDeleted(Integer isDeleted)
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted()
    {
        return isDeleted;
    }

    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("storeName", getStoreName())
                .append("storeCode", getStoreCode())
                .append("activeStoredValueCard", getActiveStoredValueCard())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("isDeleted", getIsDeleted())
                .append("phone", getPhone())
                .toString();
    }
}
